Apomorphism
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
In formal methods of computer science, an apomorphism (from ἀπό — Greek for "apart") is the categorical dual of a paramorphism and an extension of the concept of anamorphism (coinduction). Whereas a paramorphism models primitive recursion over an inductive data type, an apomorphism models primitive corecursion over a coinductive data type.
Contents
• Origins
• See also
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Origins
The term "apomorphism" was introduced in Functional Programming with Apomorphisms (Corecursion).cite-ref-1[1]
See also
• Morphism
• Morphisms of F-algebras
• From an initial algebra to an algebra: Catamorphism
• From a coalgebra to a final coalgebra: Anamorphism
• An anamorphism followed by an catamorphism: Hylomorphism
• Extension of the idea of catamorphisms: Paramorphism
References
cite-note-11. ↑ citerefveneuustalu1998Vene, Varmo; Uustalu, Tarmo (1998), "Functional Programming with Apomorphisms (Corecursion)" (PDF), Proceedings of the Estonian Academy of Sciences: Physics, Mathematics, 47 (3): 147–161